//
//  RequestApi+Product.h
//  MexicoLoan
//
//  Created by wxp on 2025/3/8.
//

#import "RequestApi.h"

NS_ASSUME_NONNULL_BEGIN

@interface RequestApi (Product)

#pragma mark - 是否跳转CPI
+ (void)requestIsJumpToCpiWithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                      failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取cpi产品
+ (void)requestProductCpi2WithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                               failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 检查用户放款状态
+ (void)requestCheckUserLoanStatusWithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                       failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 待还款借款列表
+ (void)requestRepaidOrder2WithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 产品打包（首页）
+ (void)requestProductPackaging3WithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                     failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取首页需要的用户信用额度
+ (void)requestCreditInfoWithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                              failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取借款金额、周期、利息，管理费等信息
+ (void)requestLoanApplyDetailWithApplicationAmount:(NSString *)applicationAmount
                                    applicationTerm:(NSString *)applicationTerm
                                          productId:(NSString *)productId
                                           termUnit:(NSString *)termUnit
                                           delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                            failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 借款协议信息详情
+ (void)requestContractLoanHtmlInfoWithReqList:(NSMutableArray *)reqList
                        delegate:(id <RequestDelegate> _Nullable)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                                       failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 总借款信息
+ (void)requestTotalLoanCalculateFlexibleWithAry:(NSMutableArray *)array
                                        delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                         failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 申请借款
+ (void)requestApplyWithAry:(NSMutableArray *)array
                                        delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                    failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 订单列表
+ (void)requestOrderListWithType:(NSString *)type
                        pageSize:(double)pageSize
                         pageNum:(double)pageNum
                        delegate:(id <RequestDelegate>)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                         failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 订单详情
+ (void)requestOrderDetailWithPageType:(NSString *)pageType
                               orderNo:(NSString *)orderNo
                        delegate:(id <RequestDelegate> _Nullable)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                               failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 展期信息接口
+ (void)requestCalculateDelayWithOrderNo:(NSString *)orderNo
                        delegate:(id <RequestDelegate>)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                                 failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 还款详情
+ (void)requestRepaymentDetailWithOrderNo:(NSString *)orderNo
                              requestType:(NSString *)requestType
                        delegate:(id <RequestDelegate>)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                                  failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 是否展示自动复借
+ (void)requestShowAutoApplyWithDelegate:(id <RequestDelegate>)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                                 failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 是否自动复借
+ (void)requestSettledAutoApplyWithOrderNo:(NSString *)orderNo
                                      type:(NSString *)type
                                  delegate:(id <RequestDelegate>)delegate
                         success:(void (^)(NSDictionary * response, id mark))success
                                   failure:(void (^)(NSString * errorStr, id mark))failure;




@end

NS_ASSUME_NONNULL_END
